Method of locating an object in 3-d

ABSTRACT

Methods and devices for calculating the position of a movable device are disclosed. The device may include multiple optical detectors (ODs) and the movable device may include light sources. Optics may be above the ODs. A controller may calculate the position of the light source based on data from the ODs and properties of the optics. The device may be a game console, and the light source may be a game controller. The roles of the OD and light sources may be interchanged. The rotation of the movable device may be determined using multiple light sources and/or multiple ODs on the movable device. The movable device may calculate its position and transmit it to a console. The light sources may be modulated by time or frequency to distinguish between the light sources. There may be two or more movable devices. There may be two or more consoles.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 119 (e) to U.S.Provisional Application, 61/052121, filed on May 9, 2008, with title“Method of Locating an Object in 3D”; and to U.S. ProvisionalApplication 61/052125, filed on May 9, 2008, with title “OpticalDistance Measurement By Triangulation of an Active Transponder”.

FIELD OF INVENTION

The present invention relates to calculating the position of a movableobject, and more particularly to calculating the position of a movableobject using light

BACKGROUND

The advantages of being able to calculate the location of a moveabledevice are enormous, but measuring the location of a movable device canbe difficult. And many applications need to track a movable device byrepeatedly measuring the location of the movable device. Some knowndevices have problems. Devices based on gyroscopes are prone toaccumulating errors and need to be reset periodically. Devices based onmeasuring radio waves may suffer from interference from many otherdevices that generate radio waves. Devices based on videoing the realperson or lights attached to the real person (or object) and thencalculating the person's (or object's) location by computational methodsrequires expensive hardware to implement Additionally, it may be thatthe movable device is wireless so that the power source must becontained in the movable device.

Therefore, there is a need in the art for reliably calculating theposition of a movable device that does not rely on radio waves orgyroscopes.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an embodiment of the present invention.

FIG. 2A illustrates measuring the location x of focused light on aone-dimensional position sensitive device.

FIG. 2B illustrates measuring the location x, y of focused light on atwo-dimensional position sensitive device.

FIG. 3 illustrates the X and Z plane for computing the location of alight source for an embodiment of the present invention.

FIG. 4 illustrates an embodiment for calculating the rotation of amovable device.

FIG. 5A illustrates an embodiment for calculating the rotation of amovable device.

FIG. 5B illustrates an embodiment for calculating the rotation of amovable device with multiple light sources.

FIG. 6A illustrates an embodiment of the present invention with twolight sources on a console and a light detector on a movable devicebeing held by a person.

FIG. 6B illustrates a movable device with the two spots on the lightdetector formed from two light sources emitting or reflecting light.

FIG. 7 illustrates an embodiment for the controller.

FIG. 8 illustrates embodiments of the present invention.

FIG. 9 illustrates embodiments of the present invention.

FIG. 10 illustrates an application enabled by the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention provide a device for calculatingthe position of a light source, The device may include two opticaldetectors, and a controller communicatively coupled to the opticaldetectors. The light detectors may receive incident light generated by alight source mounted on the movable device or light reflected from alight source via a reflector mounted on the movable device. Thecontroller may be configured to calculate the position of the lightsource based on data from the optical detectors and properties of one ormore apertures above the optical detectors. The apertures may be a slitabove the optical detectors in the housing that holds the opticaldetectors and the controller. The device may be a game console, and thelight source may be located on a game controller.

FIG. 1 illustrates a system 100 according to an embodiment of thepresent invention. The system 100 may include one or more movabledevice(s) 110 and a console 120. The movable device 110 may include alight source 130 that emits or reflects light into free space, Theconsole 120 may include apertures 140, an optical detector 170 and acontroller 180. The apertures 140 may focus incoming light from thelight source 130 onto a face of the optical detector 170 and maygenerate lateral currents 190 therefrom. When the device 110 moves infree space, the distribution of focused light on the face of the opticaldetector 170 may change, which may change the currents generatedtherefrom. The controller 180 monitors changes among the currents andmay calculate the device's position in free space.

Once the controller 180 calculates the device's position in free space,the calculation may be input to other console components (not shown) asinput data. In an embodiment in which the movable device 110 may be agame controller and the console 120 a video game console, the device'sposition may be a control input for a game character or the like. In anembodiment in which the movable device 110 may be attached to a homecarepatient, the device's position may be used to track the activity of ahomecare patient's activities, and the tracked activity may be uploadedto medical personal for monitoring the patient's activity or diagnosingthe patient. In an embodiment in which the movable device 110 isattached to a robotic arm, the device's position provides feedback to acomputer program controlling the arm.

More specifically, the position P(X, Y, Z) ( X 175.1, Y 175.2, and Z175.3) of the movable device 110 from an origin 173 of the console 120may be calculated by the console 120. The light source 130 emits orreflects light. The apertures 140 may focus the light 160 on the opticaldetectors, herein ‘position sensitive devices’ (PSDs) 170. The PSDs 170may generate current 190 as a result of the light 160 striking the PSDs170. The controller 180 may calculate the position 175 of the movabledevice 110 based on the generated currents 190 from the PSDs 170 andbased on properties of the apertures 140. The controller 180 may beconnected to the PSDs 170 by wires 185. There may be electroniccomponents (not illustrated) such as operational amplifiers, between thePSDs 170 and the controller 180. The controller 180 may include an A/Dconverter 185 for converting analog data from the PSDs 170 to digitaldata for processing by the controller 180. In an embodiment, asillustrated, there are two PSDs 170, with one being one dimensional170.1 and one being two-dimensional 170.2. The two-dimensional PSD 170.2generates current 190.3, 190.4, 190.5, and 190.6 (as illustrated, butalternatively or in addition voltage may be measured) that enables thecontroller 180 to locate the centroid of the focused light 197 on aplane of the PSD 170.2. The one-dimensional PSD 170.1 generates current190.1 and 190.2 that enables the controller 180 to locate the centroidof the focused light 198 on a line of the PSD 170.1. The controller 180may include an analog to digital converter 185 for converting the analogcurrent 190 from the PSDs 170 to digital values to be operated on thecontroller 180. As discussed below, alternative embodiments may usedifferent arrangements and selections of PSDs 170. For example, threeone-dimensional PSDs with two oriented along the x-axis and one orientedalong the y-axis. In another example, two PSDs oriented along thex-axis. Additional PSDs may be used to increase the sensitivity of thecalculated measurements.

In an embodiment, the apertures 140 may be provided as slits in ahousing of the console 120. Alternatively, the apertures 140 may includefocusing lenses, fisheye lenses, or prisms with focal lengths tuned to aseparation distance between the PSD and the lens.

For convenience, the light source 130 is described as part of themovable device 110 and the PSDs 170 and controller 180 as being part ofthe console 120, but the roles may be reversed with the light source 130as part of the console 120 and the optical detectors 170 and controller180 as part of the movable device 110. If the movable device 110includes the optical detectors 170 and the controller 180 then themovable device 110 may need a way to communicate the calculated locationof the movable device 110 to the console 120.

The light source 130 may be an LED or a laser or almost any type oflight source 130 but fixed wavelength emitting devices are preferred.The movable device 110, if wireless, may include a power source such asa battery (not illustrated). Additionally, there may be additionalcomponents to the movable device 110 as discussed below. For example,the movable device 110 may include electronic components for time orfrequency modulation of the emitted light.

In another embodiment, the light source 130 may reflect light generatedfrom a light generator (not shown) and transmitted to the light source130. The light source 130 reflects the modulated light into free space,some of which may be received at the optical detectors 170.

Alternatively, the device described above may be located on the movabledevice, for example, the game controller. And, the light source may belocated on the other device, for example, the game console. In anembodiment, instead of two optical detectors there may be at least threeoptical detectors with at least one optical detector having a differentorientation. In an embodiment, the device includes a housing withapertures to admit light from the light source. The apertures focus thelight from the light source on the optical detectors. In an embodiment,there may be multiple light sources (and/or optical detectors) forcalculating the rotation of the movable device. In an embodiment theremay be multiple movable devices. In an embodiment, the controller mayuse triangulation to calculate the location of the light. In anembodiment, multiple lights sources each distinguishable by time orfrequency are used and the rotation is calculated based on thecalculated location of the light sources. In an embodiment, multiplelights sources each distinguishable by time or frequency are used andthe rotation is calculated based on received spatial distribution of thelight sources.

Described below is an embodiment for a method for the console tocalculate the three coordinates of the movable device. Differentcoordinate systems may be used and many variations of the methoddescribed below are possible.

Locating A Light Spot On A One-Dimensional Optical Detector

FIG. 2A illustrates measuring the location x 200 of focused light 245 ona linear PSD 210. The incident light 215 is emitted or reflected from alight source (not illustrated). The incident light 215 passes throughthe aperture 220, and becomes focused light 205 that falls on the PSD210 with light distribution 245. The incident light 215 may be modeledas if it were a light spot incident on the PSD 210. The lightdistribution 245 generates lateral currents i₁ and i₂ in the PSD 210 andcurrents I_(L) 225.1 and I_(R) 225.2 at respective electrical contacts230.1, 230.2, which are provided at opposite ends of the linear PSD 210.The lateral currents i₁ and i₂ will be proportionate to the incidentlight 215. The currents I_(L) 225.1 and I_(R) 225.2 may be amplified byrespective amplifiers 230.1, 230.2 and may be digitized for furtherprocessing by the controller (not shown).

The incident light may be modeled as if it were a light spot incident onthe PSD 210. The PSD has a length D 235. The controller may calculatethe location x 200 of the spot by applying the following equation:

$\begin{matrix}{x = {{\left( \frac{I_{L} - I_{R}}{I_{L} + I_{R}} \right)\frac{D}{2}} \equiv {\left( \frac{I_{L} - I_{R}}{I_{T}} \right){\frac{D}{2}.}}}} & 1\end{matrix}$

In this case, the controller may calculate x 200 from the center of thedetector 210. Note that this follows from the fact that the totalphotocurrent generated is distributed among the two contacts 230.1,230.2 according to the resistance of the PSD 210 surface material. ThePSD 210 may be SD 240 from the center of another PSD (not illustrated).

Locating A Light Spot On A Two-Dimensional Optical Detector

FIG. 2B illustrates measuring the locations x 250 and y 255 of focusedlight 260 on a two-dimensional PSD 265. The incident light 270 isemitted or reflected from a light source (not illustrated). The incidentlight 270 passes through the aperture 275, and becomes focused light 260that falls on the PSD 265 with light distribution 260 that generateslateral currents i₁ . . . i₉ and currents I_(L) 280.1, I_(R) 280.2,I_(B) 280.3, and I_(F) 280.4 at respective electrical contacts, 285.1,285.2, 285.3, and 285.4. The currents I_(L) 280.1, I_(R) 280.2, I_(B)280.3, and I_(F) 280.4 may be amplified by amplifiers (not illustrated)and may be digitized for further processing by the controller (notillustrated).

The incident light may be modeled as if it were a light spot incident onthe PSD 265. The PSD 265 has a length of D_(x) 270.1 and D_(Y) 270.2.The controller may calculate the location of x 250 and y 255 of thecentroid of the spot 260 by applying the following equations:

$\begin{matrix}{y = {\frac{D_{y}}{2}{\left( \frac{I_{F} - I_{B}}{I_{F} + I_{B}} \right).}}} & 2 \\{x = {\frac{D_{x}}{2}{\left( \frac{I_{F} - I_{B}}{I_{F} + I_{B}} \right).}}} & 3\end{matrix}$

In this case, the controller may calculate x 250 and y 255 from thecenter of the detector 265. In embodiments, the controller may calculateadjustments to x 250 and y 255 to adjust for the position of thecontacts 285. For example, in an embodiment the contacts 285 may be onthe edges of the PSD 265. The controller may then use equations fromcoordinate geometry to adjust the values for x 250 and y 255 to adjustfor the contacts 285 being located on the edges of the PSD 265. Inembodiments, the controller may calculate adjustments to x 250 and y 255to adjust for the properties of the PSD 265. Note that this follows fromthe fact that the total photocurrent generated is distributed among thefour contacts 285.1, 285.2, 285.3, and 285.4 according to the resistanceof the PSD 265 surface material. The PSD 265 may be SD 240 from thecenter of another PSD (not illustrated).

Multiple Light Sources May Be Tracked By Using Frequency or TimeModulation

The controller may calculate the position of multiple light sourcesusing time modulation. For example, each light source may be turnedon-off in a predetermined sequence such that only one of the lightsources is on at any given time, In this embodiment, only the coordinatecorresponding to a particular light source will be measured during aprescribed time interval. Thus, the controller may calculate positionaldata for all of the light sources on a time sharing basis. In anembodiment, the light sources may be pulsed and individual light sourcesgiven a window in time when each one is pulsed. The controller may thencalculate the centroid of each of light source for each window of time.

Alternatively, the controller may distinguish between the light sourcesusing frequency domain. For example, the light sources may be modulatedat unique frequencies f_(k). The currents I_(L) and I_(R) generated bythe optical detectors in response to receiving incident light from thelight sources may include frequency components characterized by thesemodulations, such as:

$\begin{matrix}{{{I_{L}(t)} = {\sum\limits_{k = {sources}}{\int{{i_{lk}(x)}{\cos \left\lbrack {2\; \pi \; f_{k}t} \right\rbrack}x{x}}}}}{{I_{R}(t)} = {\sum\limits_{k = {sources}}{\int{{i_{rk}(x)}{\cos \left\lbrack {2\; \pi \; f_{k}t} \right\rbrack}x{{x}.}}}}}} & 4\end{matrix}$

In the above equation, i_(k)(x) represent the individual spot sizedistributions from each of the remote light sources on the surface ofthe optical detectors. The controller may by using the above equationsdemodulate the left and the right currents I_(L) and I_(R) correspondingto each of the i_(k)(x)by demodulating the currents I_(L) and I_(R) ateach of the frequencies f_(k). By calculating the equations above thecontroller may discriminate between two light spots on the PSD's surfaceaccording to frequency demodulation, The controller may then calculatethe positions of the light sources using Equation 1 applied to each ofthe individual demodulated currents i_(kL)(x) and i_(kR)(x) as isdisclosed herein. Thus the controller may calculate the location ofmultiple modulated light sources and by repeatedly calculating thelocation of multiple light sources the controller may track the multiplelight sources.

Calculating The Position Of X, Y, And Z Coordinates

FIG. 3 illustrates the X 350.1 and Z 350.3 plane for computing thelocation 330 of a light source 320 for an embodiment of the presentinvention. A light source 320 emits or reflects light 325 that isfocused by optics 380 to form spots 347.1, 347.2 on the PSDs 370. Thetwo PSDs 370 are connected to a controller (not illustrated) which mayinclude one or more operational amplifiers and differencing and summinginstrumentation amplifier configurations to measure the location of thespots 347.1, 347.2. SD 310 is the distance between the two PSDs 370. Inan embodiment, the location of the spots 347.1, 347.2 is measuredrelative to the center of the PSDs 390 as X_(L) 345.1 and X_(R) 345.2.

In an embodiment, the controller measures the centroid of the intensitydistribution of the light source 320 on the surface of the PSDs 370. Asdescribed herein, the controller may calculate the position of multiplelight sources using time or frequency modulation. If f is the focallength of the aperture 380, which may be a slit in a housing, then foreach of the PSDs 370 the controller(not illustrated) may calculate thelocation of the imaging spot using the following equations:

$\begin{matrix}{{x_{L} = {\frac{f}{Z}\left( {X + \frac{S_{D}}{2}} \right)}}{x_{R} = {\frac{f}{Z}{\left( {X - \frac{S_{D}}{2}} \right).}}}} & 5\end{matrix}$

Where X_(L) is 345.1, X_(R) is 345.2, Z is 350.3, and S_(D) is 310. Bycalculating the above equations, the controller may calculate X 350.1 byusing the following equation:

$\begin{matrix}{X = {\left( \frac{S_{D}}{2} \right){\left( \frac{x_{L} - x_{R}}{x_{L} + x_{R}} \right).}}} & 6\end{matrix}$

Where X_(L) is 345.1, X_(R) is 345.2, X is 350.1, and S_(D) is 310.Having determined lateral position, the controller may calculate the X350.1 and Z 350.3 from both the outputs of the PSDs as:

$\begin{matrix}{Z = {\frac{f}{x_{L} - x_{R}}{S_{D}.}}} & 7\end{matrix}$

Where X_(L) is 345.1, X_(R) is 345.2, Z is 350.3, and S_(D) is 310.

Referring back to FIG. 1, if one or more of the PSD 270 istwo-dimensional, then the controller may calculate the Y 175.2 locationdirectly by:

$\begin{matrix}{Y = {\frac{{Zy}_{L}}{f} = {\frac{{Zy}_{R}}{f} = {\left( \frac{Z}{f} \right){\left( \frac{y_{L} + y_{R}}{2} \right).}}}}} & 8\end{matrix}$

Where Y is 175.2, Y_(L) is 190.4, Y_(R) is 190.6, and Z is 175.3. Fromthe above equations, a controller may calculate the location of pointsource of light 130 by using the electrical signals generated by a pairof PSDs 170 in response to the incident light from the light source.

In an embodiment, the controller may calculate adjustments to thelocation 330 of the light source based on correcting calculations tocompensate for distortions of the aperture 380. For example, theaperture 380 may distort the position 347 of the centroid on the surfaceof the PSD 370 due to distortions such as pincushion, astigmatism etc.In an embodiment, the controller may calculate adjustments to thelocation 330 of the light source based on distortions of the PSD 370 dueto the design of the PSD 370. The controller may be calibrated forcalculating the adjustments to the location 330 of the light source.

Referring to FIG. 3, in an embodiment, multiple movable devices arepresent and/or multiple light sources 320 on movable devices are used.Each light source 320 may be uniquely modulated, either in time orfrequency, enabling the controller to directly measure the output ofeach of the modulations, and with simple signal processing measure thelocation 330 of each of the spots 347.

Calculating Rotation

FIG. 4 illustrates an embodiment for calculating the rotation of amovable device 440, A controller 410 receives light 420 at two opticaldetectors 460 separated by a fixed distance S_(D) 470 from two lightsources 430 that are placed on the movable device 440 and separated by afixed distance 1 450 along the x-axis. The controller 410 maydistinguish between the two light sources 430 and calculate the positionof each of the light sources 430 by using the methods and apparatusesdisclosed herein. The controller 410 may then based on the geometry ofthe movable device 440 calculate the orientation of the movable device440. Since the positions of each of the light sources 430 is determinedindependently, the controller 410 may calculate the directed segment(length and orientation) between light sources 430. This can provide theorientation and location of movable device 440 in space. For example, inan embodiment, the controller may calculate the rotation about theY-axis based on changes in the measured length vector of the distancebetween the two light sources 430 as (l_(x), l_(z))=(l cos (θ), l sin(θ)), where Θ is the rotation about the Y-axis. Similarly, thecontroller 410 may calculate the rotation about the X-axis. In anembodiment, additional light sources 430 separated along the y-axis areused to provide higher sensitivity to X-rotations. The controller maytrack the rotation of the mobile device 440 by repeatedly measuring therotation. The role of the light sources 430 and the light detectors 460can be reversed as is disclosed herein. Multiple light sources 430 maybe attached to a rigid or flexible body and the orientation of the rigidbody or parts of flexible body may be calculated.

FIG. 5A illustrates an embodiment for calculating the rotation of amovable device 530.

A movable device 530 has a light source 520.1 that emits or reflectslight 560.1 and is detected at the optical detectors 540.1 and 540.2 ofthe console 510.

The controller 570 may calculate the angle of the light source 520.1based on the currents generated at the two optical detectors 540.1 and540.2. The currents generated at the two optical detectors 540.1 and540.2 may be based on the total light intensity striking the two opticaldetectors 540.1 and 540.2. For example, in FIG. 5A, optical detector540.1 will generate more current than optical detector 540.2 due to theangular distribution of the intensity of the light source 520.1 and theposition of the light source 520.1. The controller 570 may use therelative ratio of current generated at the optical detectors 540.1 and540.2 to measure the angle of the light source 520.1 based on a knownangular distribution of the light source 520.1 which varies in differentdirections.

FIG. 5B illustrates an embodiment for calculating the rotation of amovable device 530 with multiple light sources 530. Each opticaldetector 540 generates currents from the incident light striking therespective optical detector 540. The controller 570 may distinguishbetween the light sources 520 using methods and apparatuses disclosedherein. The light sources 520 may each be oriented differently and thelight sources 520 may be separated from one another. The light sources520 may each have an angular distribution that may be used by thecontroller 570 to calculate the angle of the light source 520. The useof multiple optical detectors 520 may increase the accuracy ofcalculating the angle of the light source(s) 520.

As disclosed herein the controller may calculate the rotation about theZ-axis using information generated at a two-dimensional PSI. Thus, usingthe methods and apparatuses disclosed herein the rotation of a movabledevice 530 may be calculated by the controller.

In an embodiment, the light sources 520 may be part of the console 510and the light detector 520 part of the movable device 530. In anembodiment, the light sources 520 may be spaced out rather than beingpointed at different angles. In an embodiment, the controller 570 maycalculate the angle of the light source(s) 520 based on voltagesgenerated at the optical detectors 540.

Role of Light Source and Light Detector May Be Reversed

FIG. 6A illustrates an embodiment of the present invention with twolight sources 620 on a console 610 and a light detector 650 on a movabledevice 640 being held by a person 660. Two light sources 620 emit orreflect light (not illustrated) that is detected by the light detector650 attached to a movable device 640 which may calculate the positionP(X,Y,Z) 650 of the movable device 640 based on the received light. Themovable device 640 may transmit the calculated position to the console610 using an IR transmitter 690. The console 610 may receive theposition 650 of the movable device 640 by an IR receiver 695. Asillustrated below, the roles of the light detectors 650 and the lightsources 620 may be interchangeable,

Two light sources 620 can be used at a fixed separation SL 630 with asingle light detector 650 part of a movable device 640. The two lightsources 620.1 and 620.2 form two spots on the light detector 650 becauseof the aperture 670 provided within the movable device 640.

FIG. 6B illustrates the movable device 640 with the two spots 680 on thelight detector 650 formed from the two light sources 620 emitting orreflecting light 690 that passing through the aperture 670. Thecontroller 645 may distinguish between the two light sources 620 usingmethods and apparatuses disclosed herein. The controller 645 maycalculate the X 660.1 and Y 660.2 coordinates by using the followingequations:

$\begin{matrix}{X = {\frac{x_{1} + x_{2}}{2}.}} & 9 \\{Y = {\frac{y_{1} + y_{2}}{2}.}} & 10\end{matrix}$

Where, x₁ 625.1 and x₂ 625.2 are the position of the two spots 680 fromthe center 655 of the light detector 650. The Y 660.2 may be calculatedwith data from either a two-dimensional light detector 650 or with asecond light detector 650 (not illustrated, which may be differentlyoriented than the light detector 650 and may be oriented along they-axis). The controller 645 may calculate the distance Z 660 from thetwo light sources 620 by using stored values of the separation SL of thelight detector 650 and stored values of the focal length f of theaperture 670. The controller 640 may then calculate Z by using thefollowing equation:

$\begin{matrix}{Z = {\frac{f}{\left( {x_{2} - x_{1}} \right)}{S_{L}.}}} & 11\end{matrix}$

Where S_(L) is 630 and x₁ 625.1 and x₂ 625.2 are the position of the twospots 680.1, 680.2.

As illustrated above, the roles of the light detectors 650 and the lightsources 620 may be interchangeable. In an embodiment, the IRtransmitter/receiver 690, 695, may be other types of communication, e.g.the movable device 640 may be wired directly to the console 610, or themovable device 640 may communicate with the console 610 using radiowaves.

FIG. 7 illustrates an embodiment for the controller 710. The controller710 may include one or more memories 720, one or more processors 730,electronic components 740, and the controller 710 may communicate withan infra-red (IR) transmitter and/or receiver 760 The controller 710 maybe directly communicatively coupled to one or more optical detectors 750or PSDs (as illustrated) 750 or the controller 710 may be directlycommunicatively coupled to electronic components 760, and the electroniccomponents 760 may be directly communicatively coupled to the one ormore PSDs 750. The controller 710 may calculate the position of themovable object by receiving data collected from the optical detectors750. The data may be processed by the electronic components 760 outsidethe controller 710 before being received by the controller 710. Thecontroller 710 may include an analog to digital converter 770 forconverting the analog data from the PSDs 750 and/or the electroniccomponents 760 to digital data for processing by the processor 730. Thememory 720 may be RAM and/or ROM and/or any type of memory able to storeand retrieve instructions and may include program instructions fordetermining the position and/or rotation of one or more movable devices.The processor 730 may be a computer processor as is well known in theart.

Multiple controllers 710 may be used to determine the position of themovable device. The controller 710 may perform only part of thecalculating necessary to determine the position of the movable device.The electronic components 740, 760 may include operational amplifiers,amplifiers, a differencing and summing instrumentation amplifierconfigurations to measure the location of the spot of light, analog todigital converters, a pair of current detectors, each coupled to the PSDedges, or two pair of current detectors for a two-dimensional lightdetectors, simple wires for connecting the current detectors to theother electronic components, a pair of differential amplifiers tocompare the left-edge and right-edge currents from each light detector,or other electronic or electrical circuitry for implementing thefunctionality of the present invention. The electronic components may bepositioned or grouped in many ways. For example, there may be onedifferential amplifier per light detector or the light detectors mayshare a common differential amplifier or there may be no differentialamplifier or there may be one or more differential amplifiers as part ofthe controller. Positional information for the movable device may becomputed entirely by one device or the computations may be divided amongtwo or more devices.

The controller 710 may include a single digital signal processing enginethat can separate and track multiple light sources. The controller 710may receive data from PSDs 750 collected at a remote device andcommunicated to the controller 710. For example, a remote gamecontroller, which is may include the PSDs 750 and then communicate datafrom the PSDs 750 to the controller 710 for the controller 710 tocalculate the position or rotation of the remote controller. Thecontroller 710 may be communicatively coupled to many optical detectorsor PSDs 750 and/or light sources. The controller 710 may be configuredto modulate a light source either in time or frequency so that the lightsource may be distinguished from other light sources. The controller 710may be configured to calculate the rotation of an object based on thespectrum of light received from multiple light sources.

In an embodiment, the light detectors may be PSDs and the PSDs may belinear light detectors that provide lateral currents at each end(left-edge (I_(L)) and right-edge (I_(R)) currents) that vary dependingon the location of incident light on the PSD's surface. The PSDs have alength.

In another embodiment, the PSDs may be two dimensional. There may befour currents provided at each end of the PSDs (left-edge (I_(L)),right-edge (I_(R)), back-end (I_(B)), and front-edge (I_(F)) currents)that vary depending on the location of incident light on the PSD'ssurface. The light detectors may include many other embodiments.

In an embodiment, optics provided in a common housing with the lightdetectors focus light from the light sources as a spot on the lightdetector surface. The imaging optic or optics may be a pin hole, a slit,a fish eye lens, or any type of lens or device that tends to focus thelight on the PSD. Positional information may be determined bydetermining the centroid of the focused light or spot on the PSD surfaceand by using the focal properties of the imaging optics.

FIG. 8 illustrates embodiments of the present invention. FIG. 8Aillustrates an embodiment with three one-dimensional light detectors810. The light detectors 810 (which may be PSDs) include twoone-dimensional light detectors 810 positioned parallel to a first axis820 (the optics are not illustrated) for determining coordinates of theposition of the movable device, and a one dimensional PSD 860 positionedparallel to a second axis 840. The second axis 840 is orthogonallypositioned to the first axis 820 for determining one or more coordinatesof the position of the movable device. In an embodiment, the lightdetectors 810, 860 may be differently positioned and still provide thedata needed to calculate the position of the movable device. Forexample, the first axis 820 and second axis 840 need not be orthogonal.In an embodiment, one or more two dimensional light detectors 820, 810may be used.

FIG. 8B illustrates a light detector 870, which may be a PSD, integratedwith electronic components 872. A light detector 870 is integrated withelectronic components 872.1 and 872.2. As discussed herein theelectronic components may include many types of components includingoperational amplifiers, amplifiers, and/or simple wires for connectingthe light detectors 870 to other components.

FIG. 8C illustrates two light detectors 880.1 and 880.2, which may bePSDs, with one being two-dimensional. The configuration is adequate fordetermining all three of the coordinates of position of the movabledevice. As discussed earlier, the optics together with using propertiesof the imaging optics is sufficient for determining the third coordinateof the position.

FIG. 8D illustrates a two-dimensional light detector 892 integrated withelectronic components 890 on each of the four edges of the lightdetector 892. In the embodiment where the light detector 892 is a PSD892, currents would flow radially away from the light centroid (formedas a result of the imaging optics). The data generated by the PSD 892may be made available at contacts 890.1-890.4 and is processed by thecontroller (not illustrated) and/or by electronic components tocalculate position information. The contacts 890.1-890.4 may includeintegrated electronic components such as amplifiers.

In an embodiment, multiple stationary consoles may be used. For example,a room may have several light detectors and/or light sources at a gameconsole and game controller may receive or send light to the severallight detectors and/or light sources.

FIG. 9 illustrates embodiments of the present invention. FIG. 9Aillustrates the movable device 900 with a one light detector 910 or onelight source 910. FIG. 9B illustrates the movable device 900 with twolight sources 910 or two light detectors 910.

FIG. 9C illustrates the movable device 910 with two light sources 910 orlight detectors 910. The movable device 910 is shaped in a manner sothat a player of a video game would be less likely to interfere with thetransmission of light between the console and the movable device, or thetransmission of light between the movable device and the console.

FIG. 9D illustrates the movable device in a rod shape with large lightsource 910 or a large light detector 910. FIG. 9E illustrates themovable device 900 in a rod shape with many light sources 910 or manylight detectors 910.

The many light sources 910 reduce the risk that the person using themovable device will interfere with the light source 910 reaching theconsole. The many light sources may also be time and/or frequencymodulated so that the console can individually calculate the position ofthe many light sources and use the position information to determinerotational information of the movable device using the methods andapparatuses disclosed herein. The light sources 910 may be lightdetectors 910 and the many light detectors 910 would reduce the riskthat a person would interfere with receiving light from the console. Themovable devices 910 may also include other electronic componentsincluding sensory feedback devices, input devices and output devices,e.g. input and output devices that are found on game controllers,communication devices for transmitting information to the console, etc.The movable device may be tracked by repeatedly determining the positionof the movable device.

Additional light detectors may be used to increase the accuracy oflocating the other device (console or movable device) device or toincrease the area of sensitivity of the device or to decrease thepossible of the light detectors being obstructed. E.g., if the lightdetectors are located on the movable device, additional light detectorswould increase the likelihood of the light detector not being blockedfrom detecting the light source. Or if two pairs of light detectors wereprovided on the console then they would be separated to increase thelikelihood of detecting the light source.

In embodiments, using the methods and apparatuses described herein allof the six degrees of freedom of the moveable device, the orientationand the coordinates in space, may be calculated.

The light source may be time or frequency modulated to enabledifferentiating between light sources. The different light sources maybe used to provide additional information such as the rotation of themovable device. And/or the different light sources may be used ondifferent movable devices enabling in the case of a game consolemulti-players or/and for each player to have multiple movable device,e.g. two players each with a movable device per hand and foot, Themovable device and/or the console may include both light sources andlight detectors.

FIG. 10 illustrates an application enabled by the present invention. Twoplayers 1010 are holding movable devices 1020.1, 1020.2 or controllers1020.1, 1020.2. Avatars 1030.1, 1030.2 are displayed on a display 1040by a game console 1050 for each player 1010.1, 1010.2. The game console1050 moves the avatars 1030.1, 1030.2 in relation to the movement of thecontrollers 1020.1, 1020.2. The game console 1050 needs to either begiven the position of the controllers 1020.1, 1020.2 or needs to be ableto calculate the position of the controllers 1020.1, 1020.2. Theposition may be given by a coordinate system with reference to theconsole 1050. For example, the position of controller 1020.1 may bedetermined by an x 1060.1, y 1060.2, and z 1060.3 coordinate, and theposition of controller 1020.2 may be determined by an x 1070.1, y1070.2, and z 1070.3 coordinate. The console 1050 may be at the originor zero position of coordinate system 1080. The position of thecontrollers 1020.1 and 1020.2 may be repeatedly calculated to track thelocation of the controllers 1020.1 and 1020.2.

The foregoing embodiments provide relatively simple techniques fordetermining free space position of game controllers and the like. Inthis manner, these techniques provide significant advantages overalternative techniques, such as those based on image capture techniqueswhere object position would have to be detected from within digitalimage data, Such image data can include high data rates. For example 480Megabytes/second in systems using 60 frames/second.

Moreover the foregoing embodiments advantageously provide PSDs that havehigh bandwidth (10's-1000's of kHz), which enables calculation of theposition of the light centroid on the surface of a PSD in a fewmicroseconds. At such calculation rates, the foregoing techniques mayprovide real-time tracking. In embodiments, the angles of the lightsources can be measured due to having accurate measurement of the totallight intensity for each of the light sources on the optical detectors.

It should be understood that there exist implementations of othervariations and modifications of the invention and its various aspects,as may be readily apparent to those of ordinary skill in the art, andthat the invention is not limited by specific embodiments describedherein. Features and embodiments described above may be combined. It istherefore contemplated to cover any and all modifications, variations,combinations or equivalents that fall within the scope of the basicunderlying principals disclosed and claimed herein.

1-37. (canceled)
 38. A game controller, comprising: a housing withapertures provided therein to admit light from a light source, and apair of optical detectors respectively provided adjacent to theapertures, each optical detector having: a light sensitive surface andsurface resistivity, a pair of contacts provided on opposing edges ofthe light sensitive surface, operational amplifiers coupled to the pairof contacts.
 39. A game system, comprising: the game controller of claim38, and a game console having a light source that generates light.
 40. Agame system, comprising: the game controller of claim 38, and a gameconsole having a light source that generates light a remote object thatreflects light and acts as a moveable light source.